﻿using Downloader.Framework.Queries;
using Downloader.Infrastructure;
using Downloader.Web.Controllers.ViewModels;

namespace Downloader.Web.Controllers.Queries
{
    public interface IArticleContentQuery
    {
        /// <summary>
        /// 得到所有Article内容
        /// </summary>
        /// <param name="page"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        RecordList<ArticleContentViewModel> GetList(int page, int size);
        /// <summary>
        /// 得到指定类别下的所有Article
        /// </summary>
        /// <param name="categoryId"></param>
        /// <param name="page"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        RecordList<ArticleContentViewModel> GetList(int categoryId, int page, int size);
        /// <summary>
        /// 得到前几条
        /// </summary>
        /// <param name="categoryId"></param>
        /// <param name="topNumber"></param>
        /// <returns></returns>
        RecordList<ArticleContentViewModel> GetTopNumber(int categoryId, int topNumber);
        /// <summary>
        /// 得到前几条关分析出首图
        /// </summary>
        /// <param name="categoryId"></param>
        /// <param name="topNumber"></param>
        /// <returns></returns>
        RecordList<ArticleImgViewModel> GetTopNumberImg(int categoryId,int topNumber);
        /// <summary>
        /// 得到前N条带图版的内容
        /// </summary>
        /// <param name="categoryId"></param>
        /// <param name="page"></param>
        /// <param name="size"></param>
        /// <returns></returns>
        RecordList<ArticleImgViewModel> GetImgList(int categoryId, int page, int size);
        /// <summary>
        /// 得到单页类别的
        /// </summary>
        /// <returns></returns>
        RecordList<ArticleContentViewModel> GetSingleList();
      
    }
}
